/**
 * Copyright (c) 2019 xstgongyi.org
 * All rights reserved.
 */
package org.xstgongyi.eduaid.service;

import java.util.List;

import org.xstgongyi.eduaid.dataobject.UserDO;

/**
 * @author oldcrane<br/>
 * @created 2019-05-15
 */
public interface UserService {

	void insert(String loginName, String showName, String password);

	/**
	 * 目前只允许修改 showName, active 这两个字段。如果输入参数中字段值为空，则保持不变
	 * 
	 * @param user
	 */
	void update(UserDO user);

	UserDO getById(Integer id);

	UserDO getByLoginName(String loginName);

	List<UserDO> listAll(String keyword, Boolean active);

	/**
	 * 设置新的密码密码，会同时更新salt。
	 * 
	 * @return 更新之后的对象
	 */
	UserDO setPassword(Integer id, String newPassword);

}
